<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>递归</title>
</head>
<body>
    <!-- 
        递归
            递归是指函数内部调用自己的方法(就是自己调用自己)
     -->
     <script>
        //  let index = 1;
        //     function fn() {
        //     index++;
        //     console. log( index) ;
        //     if (index == 1000) {
        //         return;
        //     }
        //         fn();
        //     };
        //     fn();


            // 1-100累加
            //Letsum=0;
            //for(leti=1;i<=100;i++){
            //sum += i;
            // };
            // console. log(sum) ;



            // 递归

            // let num = 3;
            // //1+2+3
            // function sum(n) {
            // //终止条件
            // if (n== 0) {
            // return 0;
            // };
            

            // return  sum(n- 1)+ n;
            // //过程
            // };
            // console. log( sum(num)) ;

            //过程
            // sum(3)sum(n - 1) + n ----->sum(2) +3--->3+3
            //sum(2)-------->sum(n-1)+n------>sum(1)+2---->3
            // sum(1) ------ >sum(n - 1) + n -----> sum(0) + 1--->1
            // 执行栈(调用栈)---->先进后出


            // 使用递归
            // 实现阶乘
            
            function mul(n){
                if(n==0||n==1){
                    return 1;
                }

                return mul(n-1)*n;
            }
            console.log(mul(5));

     </script>
</body>
</html>